package custom.Buffer;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.logging.Logger;

import com.l2device.gameserver.Config;
import com.l2device.gameserver.L2DatabaseFactory;
import com.l2device.gameserver.datatables.SkillTable;
import com.l2device.gameserver.model.actor.L2Npc;
import com.l2device.gameserver.model.actor.instance.L2PcInstance;
import com.l2device.gameserver.model.quest.Quest;
import com.l2device.gameserver.model.quest.QuestState;
import com.l2device.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2device.gameserver.taskmanager.AttackStanceTaskManager;
import com.l2device.gameserver.util.Util;

public class Buffer extends Quest
{
	private static Logger _log = Logger.getLogger(Buffer.class.getName());
	
	// ID NPC'a
	int NPC_BUFF_ID = 50012;
	private static final String qn = "Buffer";
	int currentChat = 1;
	
	final Map<String, Integer> h = new HashMap<String, Integer>(900, 0.75f);
	final Map<String, String> pwhoedit = new HashMap<String, String>(900, 0.75f);
	final Map<String, Integer> BuffSet = new HashMap<String, Integer>(900, 0.75f);
	final Map<String, String> CharSet = new HashMap<String, String>(900, 0.75f);
	
	private static final int[] ChantsDefault =
	{
		1363,
		1413,
		1390,
		1391,
		1007,
		1309,
		1252,
		1006,
		1002,
		1251,
		1308,
		1253,
		1009,
		1362,
		1310
	}; // used for scheme buffer chants
	
	private static final int[] Chants =
	{
		1363,
		1413,
		1390,
		1391,
		1007,
		1309,
		1252,
		1006
	};
	
	private static final int[] Chants2 =
	{
		1002,
		1251,
		1308,
		1253,
		1009,
		1362,
		1310
	};
	
	private static final int[] ProphetSEEE =
	{
		1085,
		1354,
		1045,
		1243,
		1048,
		1078,
		1242,
		1353,
		1352,
		1077,
		1087,
		1059,
		1311,
		1388,
		1389,
		1240,
		1086,
		1392,
		1043,
		1032,
		1073,
		1036,
		1035,
		1068,
		1182,
		1191,
		1033,
		1259,
		1189,
		1040,
		1393,
		1268,
		1303,
		1204,
		1062
	};
	
	private static final int[] ProphetSEEEscheme1 =
	{
		1085,
		1354,
		1045,
		1243,
		1048,
		1078,
		1242,
		1353,
		1352,
		1077,
		1087,
		1059,
		1311,
		1388,
		1389,
		1240,
		1086,
		1392
	}; // used for scheme buffer prp/se/ee
	
	private static final int[] ProphetSEEEscheme2 =
	{
		1043,
		1032,
		1073,
		1036,
		1035,
		1068,
		1182,
		1191,
		1033,
		1259,
		1189,
		1040,
		1393,
		1268,
		1303,
		1204,
		1062
	}; // used for scheme buffer prp/se/ee
	
	private static final int[] ProphetSEEE1 =
	{
		1085,
		1354,
		1045,
		1243,
		1048,
		1078,
		1242,
		1353,
		1352,
		1077,
		1087,
		1059
	};
	
	private static final int[] ProphetSEEE2 =
	{
		1311,
		1388,
		1389,
		1240,
		1086,
		1392,
		1043,
		1032,
		1073,
		1036,
		1035,
		1068
	};
	
	private static final int[] ProphetSEEE3 =
	{
		1182,
		1191,
		1033,
		1259,
		1189,
		1040,
		1393,
		1268,
		1303,
		1204,
		1062
	};
	
	private static final int[] Prophecies =
	{
		1356,
		1355,
		1357,
		1363,
		1413,
		1414
	};
	
	private static final int[] CatorUnicorn = 
	{
		4699,
		4702,
		4700,
		4703
	}; // used for scheme buffer Cat/unicorn
	
	private static final int[] Dances =
	{
		307,
		276,
		309,
		274,
		275,
		272,
		277,
		273,
		311,
		366,
		365,
		310,
		271
	}; // used for scheme buffer dances
	
	private static final int[] Songs =
	{
		364,
		264,
		306,
		269,
		270,
		265,
		363,
		349,
		308,
		305,
		304,
		267,
		266,
		268
	}; // used for scheme buffer songs
	
	// Can flagged players buff themselves, if false a message will be shown.
	boolean flagIsAllowedToBuff = Config.BUFF_FLAG_PLAYER;
	
	// Can flagged players Restore HP/MP/CP, if false a message will be shown.
	boolean flagIsAllowedToHealHP = Config.HP_FLAG_PLAYER;
	boolean flagIsAllowedToHealCP = Config.CP_FLAG_PLAYER;
	boolean flagIsAllowedToHealMP = Config.MP_FLAG_PLAYER;
	
	// Can fighting players buff themselves, if false a message will be shown.
	boolean fightingPlayerIsAllowedToBuff = Config.BUFF_FIGHT_PLAYER;
	
	// Can fighting players Restore HP/MP/CP, if false a message will be shown.
	boolean fightingPlayerIsAllowedToHealHP = Config.HP_FIGHT_PLAYER;
	boolean fightingPlayerIsAllowedToHealCP = Config.CP_FIGHT_PLAYER;
	boolean fightingPlayerIsAllowedToHealMP = Config.MP_FIGHT_PLAYER;
	
	// Can player heal while he is dead?
	boolean deadPlayerIsAllowedToHeal = false;
	
	// Can player buff while he is dead?
	boolean deadPlayerIsAllowedToBuff = false;
	
	// Can player heal while casting a spell?
	boolean castingPlayerIsAllowedToHeal = false;
	
	// Can player buff while casting a spell?
	boolean castingPlayerIsAllowedToBuff = false;
	
	// Buffers html type Default/Modern
	String BufferHtmlType = "Default";
	
	@Override
	public String onTalk(L2Npc npc, L2PcInstance player)
	{
		if (BufferHtmlType == "Default")
			return "DefaultMain.htm";
		else if (BufferHtmlType == "Modern")
			return "ModernMain.htm";
		
		return "DefaultMain.htm"; 
	}
	
	public Buffer(int questId, String name, String descr)
	{
		super(questId, name, descr);
		addFirstTalkId(NPC_BUFF_ID);
		addStartNpc(NPC_BUFF_ID);
		addTalkId(NPC_BUFF_ID);
	}
	
	public String onFirstTalk(L2Npc npc, L2PcInstance player)
	{
		QuestState st = player.getQuestState(qn);
		
		if (st == null)
		{
			if (BufferHtmlType == "Default")
				return "Defaultgg.htm";
			
			else return "Moderngg.htm";
		}
		
		if (npc == null || player == null)
			return null;
		
		if(npc.getNpcId() == NPC_BUFF_ID)
		{
			if (BufferHtmlType == "Default")
				return "DefaultMain.htm";
			
			else return "ModernMain.htm";
		}
		
		return null;
	}
	
	@Override
	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
	{
		String htmltext = "gg.htm";
		if (BufferHtmlType == "Default")
			htmltext = "Defaultgg.htm";
		else htmltext = "Moderngg.htm";
		
		QuestState st = player.getQuestState(qn);
		if (st == null)
			return htmltext;
		
		StringTokenizer zt = new StringTokenizer(event);
		zt.nextToken();
		
		if (Util.isDigit(event))
		{
			htmltext = null;
			int action = Integer.parseInt(event);
			
			if (action == 1)
			{
				if (flagIsAllowedToHealHP == false && player.getPvpFlag() > 0)
					return "You have a flag, get rid of it now, now, now!";
				else if (fightingPlayerIsAllowedToHealHP == false && AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
					return "You are not allowed to Heal HP while fighting!";
				else if (deadPlayerIsAllowedToHeal == false && player.isAlikeDead())
					return "You are not allowed to Heal HP while you are dead!";
				else if (castingPlayerIsAllowedToHeal == false && player.isCastingNow())
					return "You are not allowed to Heal HP while you are casting!";
				
				else
				{
					player.setCurrentHp(player.getMaxHp());
					
					if (BufferHtmlType == "Default")
					{
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Бафер</title><body>");
						txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Введите название профиля</font></td></tr></table>");
						txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Создать\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
						if (pwhoedit.get(player.getName()) != null)
							txtAd.append("<br><center><font color=\"00FF00\">Сейчас редактируется: " + pwhoedit.get(player.getName()) + "</font></center>");
						else
							txtAd.append("<br><center><font color=\"FF0000\">Нет профиля для редактирования!</font></center>");
							
							txtAd.append("<table width=115><tr>");
							txtAd.append("<td><button value=\"Бафф\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
							txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list=" + setNamesForChar(player.getName()) + "</td><td><button value=\"Удалить\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
							
							txtAd.append("</table>");
							txtAd.append("<center><button value=\"Изменить\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
							txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Песни\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Чанты\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table><tr><td><button value=\"ПП/ЕЕ/ШЕ\" action=\"bypass -h Quest Buffer 44\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Кот/Конь\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Проф\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table><tr><td><button value=\"Хил HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Хил CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Хил MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Снять баф\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");
							txtAd.append("</body></html>");
							NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
							msg.setHtml(txtAd.toString());
							player.sendPacket(msg);
					}
					else if (BufferHtmlType == "Modern")
						return "ModernMain.htm";
				}
			}
			else if (action == 2)
			{
				if (BufferHtmlType == "Default")
					return "DefaultMain.htm";
				else if (BufferHtmlType == "Modern")
					return "ModernMain.htm";
			}
			else if (action > 2)
			{
				if (action == 198)
				{
					if (flagIsAllowedToHealMP == false && player.getPvpFlag() > 0)
						return "You have a flag, get rid of it now, now, now!";
					else if (fightingPlayerIsAllowedToHealMP == false && AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
						return "You are not allowed to Heal MP while fighting!";
					else
					{
						player.setCurrentMp(player.getMaxMp());
						if(BufferHtmlType == "Default")
						{
							StringBuilder txtAd = new StringBuilder();
							txtAd.append("<html><title>Buffer Schemes</title><body>");
							txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");
							txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							if (pwhoedit.get(player.getName()) != null)
								txtAd.append("<br><center><font color=\"00FF00\">Currently editing: " + pwhoedit.get(player.getName()) + "</font></center>");
							else
								txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");
								
								txtAd.append("<table width=115><tr>");
								txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
								txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list=" + setNamesForChar(player.getName()) + "</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
								
								txtAd.append("</table>");
								txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
								txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
								txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
								txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
								txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
								txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
								txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
								txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");
								txtAd.append("</body></html>");
								NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
								msg.setHtml(txtAd.toString());
								player.sendPacket(msg);
						}
						else if (BufferHtmlType == "Modern")
							return "ModernMain.htm";
					}
				}
				else if (action == 199)
				{
					if (flagIsAllowedToHealCP == false && player.getPvpFlag() > 0)
						return "You have a flag, get rid of it now, now, now!";
					else if (fightingPlayerIsAllowedToHealCP == false && AttackStanceTaskManager.getInstance().getAttackStanceTask(player))
						return "You are not allowed to Heal CP while fighting!";
					else
					{
						player.setCurrentCp(player.getMaxCp());
						if (BufferHtmlType == "Default")
						{
							StringBuilder txtAd = new StringBuilder();
							txtAd.append("<html><title>Buffer Schemes</title><body>");
							txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");
							txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							if (pwhoedit.get(player.getName()) != null)
								txtAd.append("<br><center><font color=\"00FF00\">Currently editing: " + pwhoedit.get(player.getName()) + "</font></center>");
							else
								txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");
							
							txtAd.append("<table width=115><tr>");
							txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
							txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list=" + setNamesForChar(player.getName()) + "</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
							
							txtAd.append("</table>");
							txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
							txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");
							txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
							txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");
							txtAd.append("</body></html>");
							NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
							msg.setHtml(txtAd.toString());
							player.sendPacket(msg);
						}
						else if (BufferHtmlType == "Modern")
							return "ModernMain.htm";
				}
				}else if(action == 197){
					player.stopAllEffects();
					if(BufferHtmlType == "Default"){
					StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else{
					return "ModernMain.htm"; 
					}
				}
				else if(action == 100){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}else if(action == 101){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Dances</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				setCurChat(player.getName(), 7);
				}		
				if(flagIsAllowedToBuff == false && player.getPvpFlag() > 0){
				return "You have a flag, get rid of it now, now, now!";}
				else if(fightingPlayerIsAllowedToBuff == false && AttackStanceTaskManager.getInstance().getAttackStanceTask(player)){
				return "You are not allowed to Buff while fighting!";}
				else if(deadPlayerIsAllowedToBuff == false && player.isAlikeDead()){
				return "You are not allowed to Buff while you are dead!";}
				else if(castingPlayerIsAllowedToBuff == false && player.isCastingNow()){
				return "You are not allowed to Heal while you are casting!";}
				else{
				if (action == 3){
					
				if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Chants</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ChantsDefault){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				setCurChat(player.getName(), 3);
				}else if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 32\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						for(int buffAdd : Chants)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 31);
					}
				}
				else if(action == 31){
				if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 32\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						
						for(int buffAdd : Chants)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
				}
				else if(action == 32)
				{
				setCurChat(player.getName(), 32);
				if(BufferHtmlType == "Modern")
				{
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 31\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");												
						for(int buffAdd : Chants2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
				}else if(action == 44){
				setCurChat(player.getName(), 44);
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme1){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 44\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");				
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);				
				}
				}else if(action == 4){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme1){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
						txtAd.append("</table>");
						txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 44\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
						txtAd.append("</body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 44);
					}else if(BufferHtmlType == "Modern"){
						setCurChat(player.getName(), 41);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						
						for(int buffAdd : ProphetSEEE1)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						//txtAd.append("<br><center><table width=180><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"<button value=\" 2\" action=\"bypass -h Quest Buffer 42\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"<button value=\" 3\" action=\"bypass -h Quest Buffer 43\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></table>");
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
					}else if(action == 45){
					setCurChat(player.getName(), 45);
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme2){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 44\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
						}	
				}
				else if(action == 41){
				if(BufferHtmlType == "Modern"){
						setCurChat(player.getName(), 41);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						
						for(int buffAdd : ProphetSEEE1)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						//txtAd.append("<br><center><table width=180><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"<button value=\" 2\" action=\"bypass -h Quest Buffer 42\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"<button value=\" 3\" action=\"bypass -h Quest Buffer 43\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></table>");
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
				}
				else if(action == 42){
				if(BufferHtmlType == "Modern"){
						setCurChat(player.getName(), 42);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");												
						for(int buffAdd : ProphetSEEE2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
				}
				else if(action == 43){
				if(BufferHtmlType == "Modern"){
						setCurChat(player.getName(), 43);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");						
						
						for(int buffAdd : ProphetSEEE3)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}
				}
				else if(action == 5){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Prophecies</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Prophecies){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					setCurChat(player.getName(), 5);
					}else if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prophecies</title><body>");			
						for(int buffAdd : Prophecies)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 5);				
						}
					}
				else if(action == 6){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Cat/Unicorn</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : CatorUnicorn){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					setCurChat(player.getName(), 6);
					}else if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Cat/Unicorn</title><body>");			
						for(int buffAdd : CatorUnicorn)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						int skId = 0;
						if(buffAdd==4700 || buffAdd==4699){skId = 1331;}else if(buffAdd==4702 || buffAdd==4703){skId = 1332;}
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+skId+"\" fore=\"icon.skill"+skId+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 6);
						}
					}
				else if(action == 7){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Dances</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					setCurChat(player.getName(), 7);
						}else if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Dances</title><body>");			
						for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 7);
						}
					}
				else if(action == 8){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Songs</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					setCurChat(player.getName(), 8);
						}else if(BufferHtmlType == "Modern"){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Songs</title><body>");			
						for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 8);
						}
					}
			else if(action == 9){//VERY IMPORTANT
					if(BufferHtmlType == "Default"){
					if(returnChat(player.getName()) == 1){ return "DefaultMain.htm";}else if(returnChat(player.getName())==3){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Chants</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ChantsDefault){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 4){
					StringBuilder txtAd = new StringBuilder();
					txtAd.append("<html><title>Buffer Prp/SE/EE</title><body><table width=270><tr><td>Name</td><td>Level</td><td>Info</td></tr><center>");			
					for(int buffAdd : ProphetSEEE){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;
					txtAd.append("<tr><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=33CC66>"+ skName + "</font></a></td><td><font color=006400>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=33CC66>Info</font></a></td></tr>");
					}
					txtAd.append("</table><br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
					txtAd.append("</center></body></html>");					
					NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
					msg.setHtml(txtAd.toString());
					player.sendPacket(msg);
					}
					else if(returnChat(player.getName()) == 44){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme1){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 4\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}
					else if(returnChat(player.getName()) == 45){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme2){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 4\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);				
					}
					else if(returnChat(player.getName()) == 5){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Prophecies</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Prophecies){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 6){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Cat/Unicorn</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : CatorUnicorn){	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);;
					}else if(returnChat(player.getName()) == 7){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Dances</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 8){
									StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Songs</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);}
				}else if(BufferHtmlType == "Modern"){
					if(returnChat(player.getName()) == 1){ return "ModernMain.htm";
					}
					else if(returnChat(player.getName()) == 31){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 32\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						for(int buffAdd : Chants)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}else if(returnChat(player.getName()) == 32){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 31\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");						
						for(int buffAdd : Chants2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						} 
						else if(returnChat(player.getName()) == 41){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						for(int buffAdd : ProphetSEEE1)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 41);
						}else if(returnChat(player.getName()) == 42){
						setCurChat(player.getName(), 42);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");												
						for(int buffAdd : ProphetSEEE2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}else if(returnChat(player.getName()) == 43){
						setCurChat(player.getName(), 43);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");											
						for(int buffAdd : ProphetSEEE3)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);}
						}else if(returnChat(player.getName()) == 5){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prophecies</title><body>");			
						for(int buffAdd : Prophecies)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 5);
						}else if(returnChat(player.getName()) == 6){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Cat/Unicorn</title><body>");			
						for(int buffAdd : CatorUnicorn)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						int skId = 0;
						if(buffAdd==4700 || buffAdd==4699){skId = 1331;}else if(buffAdd==4702 || buffAdd==4703){skId = 1332;}
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+skId+"\" width=32 height=32 back=\"icon.skill"+skId+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 6);
						}else if(returnChat(player.getName()) == 7){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Dances</title><body>");			
						for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 7);
						}else if(returnChat(player.getName()) == 8){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Songs</title><body>");			
						for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 8);
						}								
			}else if(action > 200 && action < 5000){
					int maxlv = SkillTable.getInstance().getMaxLevel(action);
					if(maxlv > 1)
					SkillTable.getInstance().getInfo(action,maxlv).getEffects(player,player);
					else
					SkillTable.getInstance().getInfo(action,1).getEffects(player,player);
					
					if(BufferHtmlType == "Default"){
					if(returnChat(player.getName()) == 1){ return "DefaultMain.htm";}else if(returnChat(player.getName()) == 3){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Chants</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ChantsDefault){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 4){
					StringBuilder txtAd = new StringBuilder();
					txtAd.append("<html><title>Buffer Prp/SE/EE</title><body><table width=270><tr><td>Name</td><td>Level</td><td>Info</td></tr><center>");			
					for(int buffAdd : ProphetSEEE){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;
					txtAd.append("<tr><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=33CC66>"+ skName + "</font></a></td><td><font color=006400>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=33CC66>Info</font></a></td></tr>");
					}
					txtAd.append("</table><br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
					txtAd.append("</center></body></html>");					
					NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
					msg.setHtml(txtAd.toString());
					player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 44){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme1){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 44\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");				
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);	
					}else if(returnChat(player.getName()) == 45){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme2){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 44\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");				
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);	
					}else if(returnChat(player.getName()) == 5){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Prophecies</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Prophecies){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 6){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Cat/Unicorn</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : CatorUnicorn){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 7){
									StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Dances</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}else if(returnChat(player.getName()) == 8){
									StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Songs</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);}
					}else if(BufferHtmlType == "Modern"){
					if(returnChat(player.getName()) == 1){ return "ModernMain.htm";}
					else if(returnChat(player.getName()) == 31){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 32\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						for(int buffAdd : Chants)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 31);
						}else if(returnChat(player.getName()) == 32){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Chants</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 31\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");						
						for(int buffAdd : Chants2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						} 
						else if(returnChat(player.getName()) == 41){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");						
						for(int buffAdd : ProphetSEEE1)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 41);
						}else if(returnChat(player.getName()) == 42){
						setCurChat(player.getName(), 42);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td><td align=center><button value=\"3\" action=\"bypass -h Quest Buffer 43\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td></tr></table>");												
						for(int buffAdd : ProphetSEEE2)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}else if(returnChat(player.getName()) == 43){
						setCurChat(player.getName(), 43);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prp/SE/EE</title><body>");
						txtAd.append("<table align=center><tr><td align=center><button value=\"1\" action=\"bypass -h Quest Buffer 41\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"2\" action=\"bypass -h Quest Buffer 42\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab2\"></td><td align=center><button value=\"3\" width=95 height=32 back=\"L2UI_ch3.skill_tab1\" fore=\"L2UI_ch3.skill_tab1\"></td></tr></table>");											
						for(int buffAdd : ProphetSEEE3)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}else if(returnChat(player.getName()) == 5){
						setCurChat(player.getName(), 5);
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Prophecies</title><body>");			
						for(int buffAdd : Prophecies)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+buffAdd+"\" fore=\"icon.skill"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");

						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						}else if(returnChat(player.getName()) == 6){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Cat/Unicorn</title><body>");			
						for(int buffAdd : CatorUnicorn)
						{	
						String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
						int buffAddd = buffAdd + 10000;
						int skId = 0;
						if(buffAdd==4700 || buffAdd==4699){skId = 1331;}else if(buffAdd==4702 || buffAdd==4703){skId = 1332;}
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill"+skId+"\" fore=\"icon.skill"+skId+"\"></td><td width=180><table width=230><tr><td>"+skName+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 6);
						}else if(returnChat(player.getName()) == 7){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Dances</title><body>");			
						for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 7);
						}else if(returnChat(player.getName()) == 8){
						StringBuilder txtAd = new StringBuilder();
						txtAd.append("<html><title>Buffer Songs</title><body>");			
						for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;
						txtAd.append("<table><tr><td width=32><button action=\"bypass -h Quest Buffer "+buffAdd+"\" width=32 height=32 back=\"icon.skill0"+buffAdd+"\" fore=\"icon.skill0"+buffAdd+"\"></td><td width=180><table width=230><tr><td>"+returnSkName(buffAdd)+"</td></tr><tr><td><font color=ae9977>"+returnSkInfo(buffAddd)+"</font></td></tr></table></td></tr></table>");
						}
						txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 2\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center></html></head></body>");
						txtAd.append("</center></body></html>");					
						NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
						msg.setHtml(txtAd.toString());
						player.sendPacket(msg);
						setCurChat(player.getName(), 8);
							}
						}
				}else if(action > 5000){
					StringBuilder txtAd = new StringBuilder();
					txtAd.append("<html><title>Buffer Skill Info</title><body>");
					txtAd.append("<center><font color=00FF00> Skill Info: </font></center><br>");	
					txtAd.append("<a ><font color=FF66FF>"+returnSkInfo(action)+"</font></a>");					
					txtAd.append("<br><center><button value=\"Back\" action=\"bypass -h Quest Buffer 9\" width=75 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");
					txtAd.append("</center></body></html>");					
					NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
					msg.setHtml(txtAd.toString());
					player.sendPacket(msg);																				
					}
				}
			}
		}
		else{		
			if(event.startsWith("scheme")){					
			}
			else if(event.startsWith("create")){
			Connection con = null;
				try{
				con = L2DatabaseFactory.getInstance().getConnection();
				String val = null;
				val = zt.nextToken();
				if(val != null){
					
				PreparedStatement statement;
				statement = con.prepareStatement("INSERT INTO charsets (CharName,setName) VALUES (?,?)");
				player.sendMessage("Made a Scheme for Player: " + player.getName()+" with name: "+val);
				statement.setString(1, player.getName());
				statement.setString(2, val);
				statement.execute();
				statement.close();}
				}catch (Exception e)
				{
				//_log.warning("shit happended "+e);
				}
				finally
				{
					try { con.close(); } catch (Exception e) {}
				}
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}
			else if(event.startsWith("delete")){
				Connection con = null;
				try{
				con = L2DatabaseFactory.getInstance().getConnection();
				String val = null;
				val = zt.nextToken();
				if(val != null){				
				PreparedStatement statement;
				statement = con.prepareStatement("DELETE FROM charsets WHERE CharName='"+player.getName()+"' AND setName='"+val+"'");
				player.sendMessage("Deleted a Scheme for Player: " + player.getName()+" with name: "+val);
				statement.execute();
				statement = con.prepareStatement("DELETE FROM buffsets WHERE setName='"+player.getName()+"-"+val+"'");
				statement.execute();
				statement.close();}
				}catch (Exception e)
				{}
				finally
				{
					try { con.close(); } catch (Exception e) {}
				}
				pwhoedit.remove(player.getName());				
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
			}
			else if(event.startsWith("edit")){

				String val = null;
				try{
				val = zt.nextToken();							
				if(pwhoedit.get(player.getName()) == null){
				pwhoedit.put(player.getName(), val);}
				else{
				pwhoedit.remove(player.getName());
				pwhoedit.put(player.getName(), val);
				}
				}catch (Exception e)
				{}
				finally
				{
					try {} catch (Exception e) {}
				}
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
			}
			else if(event.startsWith("add")){
			Connection con = null;
				String val = null;
				int id = 0;
				val = zt.nextToken();
				id = Integer.parseInt(zt.nextToken());

				if(pwhoedit.get(player.getName()) != null){
				if(isAlreadyAdded(player, val, id) == true){
				try{
				con = L2DatabaseFactory.getInstance().getConnection();
				if(val != null){				
				PreparedStatement statement;
				statement = con.prepareStatement("DELETE FROM buffsets WHERE setName='"+player.getName()+"-"+val+"' AND id='"+id+"'");
				statement.execute();
				statement.close();}
				}catch (Exception e)
				{_log.warning("shit happended "+e);}
				finally
				{
					try { con.close(); } catch (Exception e) {}
				}
				}else{
				try{
				con = L2DatabaseFactory.getInstance().getConnection();								
				PreparedStatement statement;
				if(val != null){
				statement = con.prepareStatement("INSERT INTO buffSets (setName,id) VALUES (?,?)");
				statement.setString(1, player.getName()+"-"+val);
				statement.setInt(2, id);			
				statement.execute();
				statement.close();}
				}catch (Exception e)
				{_log.warning("shit happended "+e);}
				finally
				{
					try { con.close(); } catch (Exception e) {}
				}
				}
				}else{
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				player.sendMessage("Please select a scheme to edit!");
				}
				
			if(returnChat(player.getName()) > 0 && pwhoedit.get(player.getName()) != null && BufferHtmlType == "Default"){
				if(returnChat(player.getName()) == 7){					
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Dances</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Dances)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);}
				else if(returnChat(player.getName()) == 8){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Songs</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Songs)
						{	
						int buffAddd = buffAdd + 10000;	
						int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
						txtAd.append("<table width=250><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ returnSkName(buffAdd) + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}
					else if(returnChat(player.getName()) == 3){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Chants</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ChantsDefault){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}else if(returnChat(player.getName()) == 45){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme2){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 4\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");				
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}
				}else if(returnChat(player.getName()) == 44){
					if(BufferHtmlType == "Default"){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer PRP/SE/EE</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : ProphetSEEEscheme1){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<table><tr><td><button value=\"1\" action=\"bypass -h Quest Buffer 4\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"2\" action=\"bypass -h Quest Buffer 45\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
						}
					}else if(returnChat(player.getName()) == 5){
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Prophecies</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : Prophecies){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);				
					}else if(returnChat(player.getName()) == 6){
					StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Cat/Unicorn</title><body><table width=270><tr><td width=15><button value=\"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td>Name</td><td>Level</td><td>Info</td></tr><center>");
				for(int buffAdd : CatorUnicorn){	
					String skName = SkillTable.getInstance().getInfo(buffAdd,1).getName();
					int skLevel = SkillTable.getInstance().getMaxLevel(buffAdd);
					int buffAddd = buffAdd + 10000;			
					txtAd.append("<table width=200><tr>");
						if(isAlreadyAdded(player, pwhoedit.get(player.getName()), buffAdd)){
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox\" fore=\"L2UI.CheckBox_checked\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=00FF00>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=FFFF00>Info</font></a></td></tr>");
						}else{
						txtAd.append("<td><button value=\"\" action=\"bypass -h Quest Buffer add "+pwhoedit.get(player.getName())+" "+buffAdd+"\" width=16 height=16 back=\"L2UI.CheckBox_checked\" fore=\"L2UI.CheckBox\"></td><td><a action=\"bypass -h Quest Buffer "+buffAdd+"\"><font color=FF0000>"+ skName + "</font></a></td><td><font color=C0C0C0>" + skLevel + "</font></td><td><a action=\"bypass -h Quest Buffer "+buffAddd+"\"><font color=00FFFF>Info</font></a></td></tr>");
						}
						txtAd.append("");
						}
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Back\" action=\"bypass -h Quest Buffer 100\" width=90 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</center>");				txtAd.append("</body></html>");					
				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
					}
			}
			}else if(event.startsWith("buff")){
			Connection con = null;
				String val = null;			
				try{
				val = zt.nextToken();
				con = L2DatabaseFactory.getInstance().getConnection();
				PreparedStatement statement;
				statement = con.prepareStatement("Select id FROM buffsets WHERE setName='"+player.getName()+"-"+val+"'");
				ResultSet rset = statement.executeQuery();
				while (rset.next())
				{
					int maxlv = SkillTable.getInstance().getMaxLevel(rset.getInt("id"));
					if(maxlv > 1)
					SkillTable.getInstance().getInfo(rset.getInt("id"),maxlv).getEffects(player,player);
					else
					SkillTable.getInstance().getInfo(rset.getInt("id"),1).getEffects(player,player);
					
				}
				}catch (Exception e)
				{}
				finally
				{
					try { con.close(); } catch (Exception e) {}
				}
				StringBuilder txtAd = new StringBuilder();
				txtAd.append("<html><title>Buffer Schemes</title><body>");
				txtAd.append("<br><br><table width=\"150\"><tr><td><font color=\"LEVEL\">Insert a Name for Scheme</font></td></tr></table>");	
				txtAd.append("<table width=\"150\"><tr><td><edit var=\"schemename\" width=150 height=15></td><td><button value=\"Create\" action=\"bypass -h Quest Buffer create $schemename\" width=100 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				if(pwhoedit.get(player.getName()) != null)
				txtAd.append("<br><center><font color=\"00FF00\">Currently editing: "+pwhoedit.get(player.getName())+"</font></center>");
				else
				txtAd.append("<br><center><font color=\"FF0000\">No scheme selected for editing!</font></center>");

				txtAd.append("<table width=115><tr>");			
				txtAd.append("<td><button value=\"Buff\" action=\"bypass -h Quest Buffer buff $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>");
				txtAd.append("<td><combobox width=135 height=17 var=\"scheme\" list="+setNamesForChar(player.getName())+"</td><td><button value=\"Delete\" action=\"bypass -h Quest Buffer delete $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");
				
				txtAd.append("</table>");
				txtAd.append("<center><button value=\"Edit\" action=\"bypass -h Quest Buffer edit $scheme\" width=70 height=17 back=\"sek.cbui94\" fore=\"sek.cbui92\"></center>");
				txtAd.append("<br><table><tr><td><button value=\"Dances\" action=\"bypass -h Quest Buffer 101\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Songs\" action=\"bypass -h Quest Buffer 8\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Chants\" action=\"bypass -h Quest Buffer 3\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"PRP/SE/EE\" action=\"bypass -h Quest Buffer 4\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Cat/Unicorn\" action=\"bypass -h Quest Buffer 6\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Prophecies\" action=\"bypass -h Quest Buffer 5\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table><tr><td><button value=\"Heal HP\" action=\"bypass -h Quest Buffer 1\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"");	
				txtAd.append("</td><td><button value=\"Heal CP\" action=\"bypass -h Quest Buffer 199\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td><button value=\"Heal MP\" action=\"bypass -h Quest Buffer 198\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td></tr></table>");	
				txtAd.append("<br><table width=300><tr><td width=94 height=21></td><td><button value=\"Cancel Buffs\" action=\"bypass -h Quest Buffer 197\" width=94 height=21 back=\"sek.cubi304\" fore=\"sek.cubi304\"</td><td width=94 height=21></td></tr></table>");

				txtAd.append("</body></html>");					
				NpcHtmlMessage msg = new NpcHtmlMessage(NPC_BUFF_ID);
				msg.setHtml(txtAd.toString());
				player.sendPacket(msg);
				}
			}
					
			
		return "";
	}
	
	public boolean isAlreadyAdded(L2PcInstance activeChar, String setopav, int bufoid)
	{
		Connection con = null;
		boolean isAdded = false;
		try
		{
			con = L2DatabaseFactory.getInstance().getConnection();
			PreparedStatement statement;
			statement = con.prepareStatement("Select id FROM buffsets WHERE setName='" + activeChar.getName() + "-" + setopav + "'");
			ResultSet rset = statement.executeQuery();
			while (rset.next())
			{
				if(rset.getInt("id") == bufoid)
					isAdded = true;
			}
			
			statement.close();
		}
		catch (Exception e)
		{
			_log.warning("shit happended " + e);
		}
		finally
		{
			try
			{
				con.close();
			}
			catch (Exception e)
			{
			}
		}
		
		return isAdded;
	}
	
	public String getSetName(String charname)
	{
		String setName = CharSet.get(charname);
		return setName;
	}

	public String setNamesForChar(String name)
	{
		Connection con = null;
		String setName = "";
		try
		{
			con = L2DatabaseFactory.getInstance().getConnection();
			PreparedStatement statement;
			statement = con.prepareStatement("Select setName FROM charsets WHERE CharName='" + name + "'");
			ResultSet rset = statement.executeQuery();
			while (rset.next())
			{
				if(setName.equals(""))
					setName = rset.getString("setName");
				else
					setName = setName+";"+rset.getString("setName");
			}
			
			rset.close();
			statement.close();
		}
		catch (Exception e)
		{
			_log.warning("shit happended "+e);
		}
		finally
		{
			try
			{
				con.close();
			}
			catch (Exception e)
			{
			}
		}
		
		return setName;
	}
	
	private String returnSkName(int id)
	{
		if (id == 307)
			return "Dance of Aqua Guard";
		else if (id == 276)
			return "Dance of Concentration";
		else if (id == 309)
			return "Dance of Earth Guard";
		else if (id == 274)
			return "Dance of Fire";
		else if (id == 275)
			return "Dance of Fury";
		else if (id == 272)
			return "Dance of Inspiration";
		else if (id == 277)
			return "Dance of Light";
		else if (id == 273)
			return "Dance of Mystic";
		else if (id == 311)
			return "Dance of Protection";
		else if (id == 366)
			return "Dance of Shadow";
		else if (id == 365)
			return "Dance of Siren";
		else if (id == 310)
			return "Dance of Vampire";
		else if (id == 271)
			return "Dance of Warrior";
		else if (id == 364)
			return "Song of Champion";
		else if (id == 264)
			return "Song of Earth";
		else if (id == 306)
			return "Song of Flame Guard";
		else if (id == 269)
			return "Song of Hunter";
		else if(id == 270)
			return "Song of Invocation";
		else if (id == 265)
			return "Song of Life";
		else if (id == 363)
			return "Song of Meditation";
		else if (id == 349)
			return "Song of Renewal";
		else if (id == 308)
			return "Song of Storm Guard";
		else if (id == 305)
			return "Song of Vengeance";	
		else if (id == 304)
			return "Song of Vitality";
		else if (id == 267)
			return "Song of Warding";
		else if (id == 266)
			return "Song of Water";
		else if (id == 268)
			return "Song of Wind";
		return ("Unkown Name for skill: " + id);
	}
	
	private String returnSkInfo(int id)
	{
		// dance/song
		if (id == 307 + 10000)
			return "Water Resistance +30%";
		else if (id == 276 + 10000)
			return "Casting Spd +30%, Chance of casting interruption -30%";
		else if (id == 309 + 10000)
			return "Earth Resistance +30%";
		else if (id == 274 + 10000)
			return "Critical Damage +50%";
		else if (id == 275 + 10000)
			return "Atk Spd +15%";
		else if (id == 272 + 10000)
			return "Accuracy +4";
		else if (id == 277 + 10000)
			return "Enhances Holy attribute to P. Atk.";
		else if (id == 273 + 10000)
			return "M. Atk. +20%";
		else if (id == 311 + 10000)
			return "Fall Damage -30%";
		else if (id == 366 + 10000)
			return "Speed -50%, Avoid MOBs preemptive attack";
		else if (id == 365 + 10000)
			return "Magic Critical Rate +200%";
		else if (id == 310 + 10000)
			return "Recover 8% of melee physical attack as HP";
		else if (id == 271 + 10000)
			return "P. Atk. +12%";
		else if (id == 364 + 10000)
			return "Physical Skill Re-use delay -30% and MP cost for physical skills -5%";
		else if (id == 264 + 10000)
			return "P. Def. +25%";
		else if (id == 306 + 10000)
			return "Guard Fire Resistance +30%";
		else if (id == 269 + 10000)
			return "Critical Rate +100%";
		else if (id == 270 + 10000)
			return "Darkness Resistance +20%";
		else if (id == 265 + 10000)
			return "HP regeneration +20%";
		else if (id == 363 + 10000)
			return "MP regeneration +20% and MP cost -10%";
		else if (id == 349 + 10000)
			return "Skills Re-use delay -30% and MP cost for skills -10%";
		else if (id == 308 + 10000)
			return "Guard Wind Resistance +30%";
		else if (id == 305 + 10000)
			return "Reflect 20% of melee received damage";	
		else if (id == 304 + 10000)
			return "HP +30%";
		else if (id == 267 + 10000)
			return "M. Def. +30%";
		else if (id == 266 + 10000)
			return "Evasion +3";
		else if (id == 268 + 10000)
			return "Speed +20";
		
		// prp/se/ee
		else if (id == 1085 + 10000)
			return "Casting Spd +30%";
		else if (id == 1304 + 10000)
			return "Shield P. Def +100%";
		else if (id == 1087 + 10000)
			return "Evasion +4";
		else if (id == 1354 + 10000)
			return "Cancel Resistance +30% and Debuff Resistance +20%";
		else if (id == 1045 + 10000)
			return "HP +35%, CP +35%";
		else if (id == 1243 + 10000)
			return "Shield Def Rate +90%";
		else if (id == 1048 + 10000)
			return "MP +35%";
		else if (id == 1311 + 10000)
			return "HP +35%, CP +35%, Restore HP added";
		else if (id == 1397 + 10000)
			return "MP consupmition for Magical Skills -10%";
		else if (id == 1078 + 10000)
			return "Chance of casting interruption -53%";
		else if (id == 1242 + 10000)
			return "Critical Damage +50%";
		else if (id == 1353 + 10000)
			return "Darkness Resistance +30%";
		else if (id == 1352 + 10000)
			return "Fire Resistance +30%, Water, Wind and Earth Resistance +20%";
		else if (id == 1059 + 10000)
			return "M. Atk. +75%";
		else if (id == 1077 + 10000)
			return "Critical Rate +30%";
		else if (id == 1388 + 10000)
			return "P. Atk. +10%";
		else if (id == 1389 + 10000)
			return "P. Def. +15%";
		else if (id == 1240 + 10000)
			return "Acurracy +4";
		else if (id == 1086 + 10000)
			return "Atk. Spd. +33%";
		else if (id == 1392 + 10000)
			return "Sacred Resistance +30%";
		else if (id == 1043 + 10000)
			return "Enhances Holy [means sacred] attribute to P. Atk.";
		else if (id == 1032 + 10000)
			return "Bleed Resistance +50%";
		else if (id == 1073 + 10000)
			return "Breath Gauge +600%";
		else if (id == 1036 + 10000)
			return "M. Def. +30%";
		else if (id == 1035 + 10000)
			return "Hold, Sleep and Derragement Resistance +80%";
		else if (id == 1068 + 10000)
			return "P. Atk. +15%";
		else if (id == 1356 + 10000)
			return "HP +20%, restore HP added, P.Atk. +10%, P.Def. +20%, Accuracy +4, Speed -10%, Atk. Spd. +20%, Debuff Resistance +10%";
		else if (id == 1355 + 10000)
			return "MP regen per tick +20%, M.Atk. +20%, M.Def. +20%, Speed -20%, Casting Spd. +20%, Magic Critical Rate +100%, Debuff Resistance +10%";
		else if (id == 1357 + 10000)
			return "Accuracy +4, Atk Speed +20%, Recover 5% of melee physical damage as HP, Critical +20% from behind, Critical Damage from behind +20%, Debuff Resistance +10%";
		else if (id == 1182 + 10000)
			return "Aqua Resistance +30%";
		else if (id == 1191 + 10000)
			return "Fire Resistance +30%";
		else if (id == 1033 + 10000)
			return "Poison Resistance +50%";
		else if (id == 1259 + 10000)
			return "Stun Resistance +40%";
		else if (id == 1189 + 10000)
			return "Wind Resistance +30%";
		else if (id == 1040 + 10000)
			return "P. Def. +15%";
		else if (id == 1393 + 10000)
			return "Darkness Resistance +30%";
		else if (id == 1268 + 10000)
			return "Recover 9% of melee physical attack as HP";
		else if (id == 1303 + 10000)
			return "Magic Critical Rate +300%";
		else if (id == 1204 + 10000)
			return "Speed +33";
		else if (id == 1062 + 10000)
			return "P. Atk. +8%, M. Atk. +16%, P. Def. -8%, M. Def. -16%, Speed +8, Atk. Spd +8%, Casting Spd. +8%";
		
		// chants
		else if (id == 1005 + 10000)
			return "P. Def. +15%";
		else if (id == 1007 + 10000)
			return "P. Atk. +15%";
		else if (id == 1309 + 10000)
			return "Accuracy +4";
		else if (id == 1252 + 10000)
			return "Evasion +4";
		else if (id == 1006 + 10000)
			return "M. Def. +30%";
		else if (id == 1002 + 10000)
			return "Casting Spd +30%";
		else if (id == 1251 + 10000)
			return "Atk. Spd. +33%";
		else if (id == 1229 + 10000)
			return "Gradually restores HP";
		else if (id == 1308 + 10000)
			return "Critical Rate +30%";
		else if (id == 1461 + 10000)
			return "Received Critical Damage -30%";
		else if (id == 1253 + 10000)
			return "Critical Damage +50%";
		else if (id == 1009 + 10000)
			return "P. Def. +15%";
		else if (id == 1362 + 10000)
			return "Cancel Resistance +30% and Debuff Resistance +20%";
		else if (id == 1310 + 10000)
			return "Recover 9% of melee physical attack as HP";
		else if (id == 1391 + 10000)
			return "Recover 9% of melee physical attack as HP";
		else if (id == 1413 + 10000)
			return "Max MP +20%, M. Atk +30%, M. Def. +30%, Casting Speed +20%, MP Regeneration +50%, MP Consupmition -20%, Magic Critical Chance +85%";
		else if (id == 1003 + 10000)
			return "P. Atk. +15%";
		else if (id == 1282 + 10000)
			return "Speed +33";
		else if (id == 1415 + 10000)
			return "Cancel Resistance +30% and Debuff Resistance +20%";
		else if (id == 1364 + 10000)
			return "Critical Damage +50%";
		else if (id == 1008 + 10000)
			return "M. Def. +30%";
		else if (id == 1365 + 10000)
			return "M. Atk. +75%";
		else if (id == 1260 + 10000)
			return "Evasion +4";
		else if (id == 1249 + 10000)
			return "Accuracy +4";
		else if (id == 1004 + 10000)
			return "Casting Spd +30%";
		else if (id == 1414 + 10000)
			return "HP +20%, restores the HP added, Speed -20%, Accuracy +4, P.Def. +20%, P.Atk. +10%, Atk. Spd. +20%, Critical +20%, Critical Damage +20%, M.Def. +20%, M. Atk. +10%, Casting Spd. +20%, Debuff Resistance +20%";
		else if (id == 1390 + 10000)
			return "P. Atk. +10%";
		else if(id == 1363+10000)
			return "HP +20%, restores the HP added, Speed -20%, Accuracy +4, P.Def. +20%, P.Atk. +10%, Atk. Spd. +20%, Critical +20%, Critical Damage +20%, M.Def. +20%, M. Atk. +10%, Casting Spd. +20%, Debuff Resistance +20%";
		
		// cat/unicorn
		else if (id == 4699 + 10000)
			return "Critical Rate +30%, Critical Damage +25%";
		else if (id == 4702 + 10000)
			return "MP Regeneration +35%";
		else if (id == 4700 + 10000)
			return "P. Atk. +10%, Accuracy +2";
		else if (id == 4703 + 10000)
			return "Magical Skill Re-use delay -35%";
		return ("Unknown Info for skill: " + id);
	}
	
	public int returnChat(String name)
	{
		if (h.get(name) > 0)
			return h.get(name);
		
		return 1;
	}
	
	public void setCurChat(String name, int currChat)
	{
        h.remove(name);
		h.put(name, currChat);
	}
	
	public static void main(String args[])
	{
		new Buffer(-1, qn, "custom");
	}
}